package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 运单轨迹对象 trans_shipment_track
 * 
 * @author ruoyi
 * @date 2024-01-16
 */
@Data
@TableName("trans_shipment_track")
@ApiModel("运单轨迹")
public class ShipmentTrack
{
    private static final long serialVersionUID = 1L;

    /** 轨迹ID */
    @TableId(value = "track_id", type = IdType.ASSIGN_UUID)
    @ApiModelProperty("轨迹ID")
    private String trackId;

    /** 运单ID */
    @TableField("shipment_id")
    @ApiModelProperty("运单ID")
    private String shipmentId;

    /** 运单编号 */
    @TableField("shipment_code")
    @ApiModelProperty("运单编号")
    private String shipmentCode;

    /** 轨迹类型：1-发货，2-运输中，3-派送中，4-已签收，5-异常 */
    @TableField("track_type")
    @ApiModelProperty("轨迹类型")
    private String trackType;

    /** 状态描述 */
    @TableField("track_status")
    @ApiModelProperty("状态描述")
    private String trackStatus;

    /** 轨迹描述 */
    @TableField("track_desc")
    @ApiModelProperty("轨迹描述")
    private String trackDesc;

    /** 经度 */
    @TableField("longitude")
    @ApiModelProperty("经度")
    private BigDecimal longitude;

    /** 纬度 */
    @TableField("latitude")
    @ApiModelProperty("纬度")
    private BigDecimal latitude;

    /** 省份 */
    @TableField("province")
    @ApiModelProperty("省份")
    private String province;

    /** 城市 */
    @TableField("city")
    @ApiModelProperty("城市")
    private String city;

    /** 区县 */
    @TableField("district")
    @ApiModelProperty("区县")
    private String district;

    /** 详细地址 */
    @TableField("address")
    @ApiModelProperty("详细地址")
    private String address;

    /** 轨迹时间 */
    @TableField("track_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("轨迹时间")
    private Date trackTime;

    /** 创建时间 */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;

    /** 操作人 */
    @TableField("operator")
    @ApiModelProperty("操作人")
    private String operator;

    /** 操作类型：自动，手动 */
    @TableField("operation_type")
    @ApiModelProperty("操作类型")
    private String operationType;
} 